package mybox.engine.rundfeder;

import mybox.engine.Figur;
import mybox.engine.File4Qcad;
import mybox.engine.Line;
import mybox.engine.QVector;



public class Rundfeder implements Figur {
	
	public File4Qcad file4qcad ;	
	public QVector linksObenStart;
	
	public QVector rechtsUntenEnd;
	
	double hoehe;
	double seitenAbschluss;
	double federDicke;
	double anzahl;
	
	public double innenLaenge;
	
	public Rundfeder(File4Qcad file4qcad, QVector linksObenStart, double hoehe, double seitenAbschluss, double federDicke, int anzahl) {
		this.file4qcad=file4qcad;
		this.linksObenStart=linksObenStart;
		this.rechtsUntenEnd=new QVector(linksObenStart.x+federDicke*(anzahl*2+1),linksObenStart.y-hoehe);
		this.hoehe=hoehe;
		this.seitenAbschluss=seitenAbschluss;
		this.federDicke=federDicke;
		this.anzahl=anzahl;
		innenLaenge=federDicke*anzahl*2;
	}
	
	@Override
	public void draw() {
		
		
		
		for (int idx=0;idx<=anzahl;idx++) {
			
			
			QVector erstesSegmentBegin = new QVector(linksObenStart.x+idx*federDicke*2,linksObenStart.y-seitenAbschluss);
			double erstesSegmentLaenge=hoehe/2-2*seitenAbschluss;
			QVector erstesSegmentEnde = new QVector(erstesSegmentBegin.x,erstesSegmentBegin.y-erstesSegmentLaenge);
			Line erstesSegment = new Line(file4qcad,erstesSegmentBegin, erstesSegmentEnde);
			
			
			QVector zweitesSegmentBegin = new QVector(erstesSegmentEnde.x,erstesSegmentEnde.y-(seitenAbschluss*2));
			QVector zweitesSegmentEnde = new QVector(zweitesSegmentBegin.x,zweitesSegmentBegin.y-erstesSegmentLaenge);
			Line zweitesSegment = new Line(file4qcad,zweitesSegmentBegin, zweitesSegmentEnde);
			
			if (idx>0) {
				erstesSegment.draw();
				zweitesSegment.draw();
			}			
				
			QVector drittesSegmentBegin = new QVector(erstesSegmentBegin.x+federDicke,linksObenStart.y);
			double drittesSegmentLaenge=hoehe/4-seitenAbschluss;
			QVector drittesSegmentEnde = new QVector(drittesSegmentBegin.x,drittesSegmentBegin.y-drittesSegmentLaenge);
			Line drittesSegment = new Line(file4qcad,drittesSegmentBegin, drittesSegmentEnde);
			drittesSegment.draw();			
			
			QVector viertesSegmentBegin = new QVector(drittesSegmentBegin.x,drittesSegmentEnde.y-seitenAbschluss*2);
			double viertesSegmentLaenge=(hoehe/2)-(2*seitenAbschluss);
			QVector viertesSegmentEnde = new QVector(viertesSegmentBegin.x,viertesSegmentBegin.y-viertesSegmentLaenge);
			Line viertesSegment = new Line(file4qcad,viertesSegmentBegin, viertesSegmentEnde);
			viertesSegment.draw();
			
			QVector fuenftesSegmentBegin = new QVector(drittesSegmentBegin.x,viertesSegmentEnde.y-seitenAbschluss*2);
			double fuenftesSegmentLaenge=drittesSegmentLaenge;
			QVector fuenftesSegmentEnde = new QVector(viertesSegmentBegin.x,fuenftesSegmentBegin.y-fuenftesSegmentLaenge);
			Line fuenftesSegment = new Line(file4qcad,fuenftesSegmentBegin, fuenftesSegmentEnde);
			fuenftesSegment.draw();		
			
				
		}
	}
	
	

}
